1 using System;
2 using
System.Collections.Generic;
3 using
System.ComponentModel;
4 using
System.Data;
5 using
System.Drawing;
6 using
System.Linq;
7 using
System.Text;
8 using
System.Threading.Tasks;
9 using
System.Windows.Forms;
10
11 namespace
SoftQuanLyNhaHang.Views
12 {
13     
public partial class frmBanHang_Ck_Thue : Form
14     {
15         
public frmBanHang_Ck_Thue()
16         {
17             InitializeComponent();
18             MinimizeBox =
false;
19         }
20
21         
private int _getIdKhachHang;
22
23         
public frmBanHang_Ck_Thue(int _idKhachHang) : this()
24         {
25             _getIdKhachHang = _idKhachHang;
26         }
27
28         
int idBanHangDgv = 0;
29         
bool loadlandau = true;
30
31         
private void frmBanHang_Ck_Thue_Load(object sender, EventArgs e)
32         {
33             
//hien thi cmbthue
34             Dictionary<
string, string> comboSource = new Dictionary<string, string>();
35             comboSource.Add(
"0", "0");
36             comboSource.Add(
"5", "5");
37             comboSource.Add(
"10", "10");
38             cmbThue.DataSource =
new BindingSource(comboSource, null);
39             cmbThue.DisplayMember =
"Value";
40             cmbThue.ValueMember =
"Key";
41             
//het hien thi combobox thue
42
43             
//hien thi
44             
this.HienThiDanhSachSanPhamTheoKhachHangTinhCkVaThue(_getIdKhachHang);
45         }
46
47         
private void btnDong_Click(object sender, EventArgs e)
48         {
49             
this.Close();
50
51
52         }
53
54         
private void HienThiDanhSachSanPhamTheoKhachHangTinhCkVaThue(int idKhachHang)
55         {
56             dgvDsSpCkVaThue.Rows.Clear();
57             
//Ẩn cột đầu tiên
58             dgvDsSpCkVaThue.RowHeadersVisible =
false;
59             
//-https://stackoverflow.com/questions/17404969/right-align-a-column-in-datagridview-doesnt-work
60             
this.dgvDsSpCkVaThue.Columns["STT"].HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleCenter;
61             
this.dgvDsSpCkVaThue.Columns["STT"].DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter;
62             
//this.dgvDanhSachNhapHang.Columns["STT"].SortMode = DataGridViewColumnSortMode.NotSortable;
63
64             
this.dgvDsSpCkVaThue.Columns["SoLuong"].HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleCenter;
65             
this.dgvDsSpCkVaThue.Columns["SoLuong"].DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter;
66
67             
this.dgvDsSpCkVaThue.Columns["GiaBan"].HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleRight;
68             
this.dgvDsSpCkVaThue.Columns["GiaBan"].DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleRight;
69
70             
this.dgvDsSpCkVaThue.Columns["ChietKhauPt"].HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleCenter;
71             
this.dgvDsSpCkVaThue.Columns["ChietKhauPt"].DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter;
72
73             
//this.dgvDsSpCkVaThue.Columns["Thue"].HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleCenter;
74             
//this.dgvDsSpCkVaThue.Columns["Thue"].DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter;
75
76
77             
this.dgvDsSpCkVaThue.Columns["TongTien"].HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleRight;
78             
this.dgvDsSpCkVaThue.Columns["TongTien"].DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleRight;
79
80             DataTable dt =
new DataTable();
81
82             
//select từ bảng bán hàng
83             dt = Controllers.BanHangCtrl.FillDataSet_getBanHangByKhachHangId(
"", idKhachHang).Tables[0];
84             
if (dt.Rows.Count > 0)
85             {
86
87                 
int _stt = 0;
88                 
//_tongSoBanGhi = Int32.Parse(dt.Rows[0]["TongSoBanGhi"].ToString());
89                 
double soluong = 0;
90                 
double giaban = 0;
91                 
double thanhtien = 0;
92                 
//int i = 0;
93                 
foreach (DataRow item in dt.Rows)
94                 {
95                     _stt +=
1;
96                     
int n = dgvDsSpCkVaThue.Rows.Add();
97       
98                     dgvDsSpCkVaThue.Rows[n].Cells[
"IdBanHang"].Value = item["IdBanHang"].ToString();
99                     dgvDsSpCkVaThue.Rows[n].Cells[
"STT"].Value = _stt.ToString();
100                     dgvDsSpCkVaThue.Rows[n].Cells[
"MaSanPham"].Value = item["MaSanPham"].ToString();
101                     dgvDsSpCkVaThue.Rows[n].Cells[
"TenSanPham"].Value = item["TenSanPham"].ToString();
102
103                     dgvDsSpCkVaThue.Rows[n].Cells[
"TenDonViTinh"].Value = item["TenDonViTinh"].ToString();
104
105                     soluong = CauHinhHeThong.Format_SoDeTinhToan(item[
"SoLuong"].ToString(),false);
106                     giaban = CauHinhHeThong.Format_SoDeTinhToan(item[
"GiaBan"].ToString(),false);
107
108                     dgvDsSpCkVaThue.Rows[n].Cells[
"SoLuong"].Value = CauHinhHeThong.Format_SoDeHienThi(soluong, false);
109                     
110                     dgvDsSpCkVaThue.Rows[n].Cells[
"GiaBan"].Value = CauHinhHeThong.Format_SoDeHienThi(giaban, true);
111
112                     
//thanhtien = soluong * giaban;
113                     dgvDsSpCkVaThue.Rows[n].Cells[
"ChietKhauPt"].Value = item["ChietKhauPhanTram"].ToString();
114
115                     
//dgvDsSpCkVaThue.Rows[n].Cells["Thue"].Value = item["Thue"].ToString();
116
117                     thanhtien = CauHinhHeThong.Format_SoDeTinhToan(item[
"ThanhTien"].ToString(),false);
118                     dgvDsSpCkVaThue.Rows[n].Cells[
"TongTien"].Value = CauHinhHeThong.Format_SoDeHienThi(thanhtien, true); ;// item["ThanhTien"].ToString();
119                     
120                     
121                     
//dgvDanhSachBanHang.Rows[n].Cells["Xoa"].Value = "false";
122
123
124                 }
125             }
126
127         }
128
129         
private void btnLuuVaThietLapTiep_Click(object sender, EventArgs e)
130         {
131             
double chietkhau = 0;
132             
double thueBanHang = 0;
133             
double soluong = 0;
134             
double giaban = 0;
135
136             
double thanhTien = 0;
137
138             chietkhau = CauHinhHeThong.Format_SoDeTinhToan(txtChietKhau.Text.Trim(),
true);
139
140             thueBanHang = Int32.Parse(cmbThue.SelectedValue.ToString());
// CauHinhHeThong.Format_SoDeTinhToan(cmbThue.SelectedValue.ToString());
141
142             soluong = CauHinhHeThong.Format_SoDeTinhToan(txtSoLuong.Text.Trim(),
true);
143
144             giaban = CauHinhHeThong.Format_SoDeTinhToan(txtGiaBan.Text.Trim(),
true);
145
146             
//thanh tien
147             
//thanhTien = (soluong * giaban) - (soluong * giaban * chietkhau / 100) + (soluong * giaban * thueBanHang / 100);
148             thanhTien = CauHinhHeThong.BanHang_ThanhTien(giaban, soluong, thueBanHang, chietkhau);
149
150             
//update vao csdl
151             Controllers.BanHangCtrl.UpdateBanHang_Thue_ChietKhau(idBanHangDgv, chietkhau, thueBanHang, thanhTien);
152
153             
//Hiển thị lại ds
154             
//this.HienThiDanhSachSanPhamTheoKhachHangTinhCkVaThue(_getIdKhachHang);
155
156             
//gọi sang tab ds
157             
//tabControlBanHangCk_Thue.SelectedTab = tabPageChietKhau;
158             
159             
//MessageBox.Show("Lưu thành công");
160
161             
//đóng form
162             
this.Close();
163         }
164
165         
private void dgvDsSpCkVaThue_CellClick(object sender, DataGridViewCellEventArgs e)
166         {
167             
//-https://stackoverflow.com/questions/1132471/how-to-reference-column-name-instead-of-e-columnindex-in-winform-datagridview-ev
168             
if (dgvDsSpCkVaThue.Columns[e.ColumnIndex].Name == "Thue" && e.RowIndex != -1)
169             {
170                 
//-https://stackoverflow.com/questions/12762036/datagridview-cell-click-event
171                 
if (dgvDsSpCkVaThue.CurrentCell != null && dgvDsSpCkVaThue.CurrentCell.Value != null)
172                 {
173                     dgvDsSpCkVaThue.BeginEdit(
true);
174                     ComboBox cmb = (ComboBox)dgvDsSpCkVaThue.EditingControl;
175                     cmb.DroppedDown =
true;
176                 }
177             }
178
179             
//-https://stackoverflow.com/questions/1132471/how-to-reference-column-name-instead-of-e-columnindex-in-winform-datagridview-ev
180             
if (dgvDsSpCkVaThue.Columns[e.ColumnIndex].Name == "ChietKhauPt" && e.RowIndex != -1)
181             {
182                 
//-https://stackoverflow.com/questions/12762036/datagridview-cell-click-event
183                 
if (dgvDsSpCkVaThue.CurrentCell != null && dgvDsSpCkVaThue.CurrentCell.Value != null)
184                 {
185                     dgvDsSpCkVaThue.BeginEdit(
true);
186                     TextBox txt = (TextBox)dgvDsSpCkVaThue.EditingControl;
187                     
//txt.
188                 }
189             }
190
191
192             
//-https://stackoverflow.com/questions/1132471/how-to-reference-column-name-instead-of-e-columnindex-in-winform-datagridview-ev
193             
if (dgvDsSpCkVaThue.Columns[e.ColumnIndex].Name == "TenSanPham" && e.RowIndex != -1)
194             {
195                 
//-https://stackoverflow.com/questions/12762036/datagridview-cell-click-event
196                 
if (dgvDsSpCkVaThue.CurrentCell != null && dgvDsSpCkVaThue.CurrentCell.Value != null)
197                 {
198                     idBanHangDgv =
0;
199
200                     idBanHangDgv = Int32.Parse(dgvDsSpCkVaThue.Rows[e.RowIndex].Cells[
"IdBanHang"].Value.ToString());
201
202                     
double giaban = 0;
203                     
double soluong = 0;
204                     
double thue = 0;
205                     
double chietkhauPt = 0;
206                     
double tongtien = 0;
207
208                     txtTenSanPham.Text = dgvDsSpCkVaThue.Rows[e.RowIndex].Cells[
"TenSanPham"].Value.ToString();
209                     txtMaSanPham.Text = dgvDsSpCkVaThue.Rows[e.RowIndex].Cells[
"MaSanPham"].Value.ToString();
210
211                     giaban = CauHinhHeThong.Format_SoDeTinhToan(dgvDsSpCkVaThue.Rows[e.RowIndex].Cells[
"GiaBan"].Value.ToString(),true);
212
213                     txtGiaBan.Text = CauHinhHeThong.Format_SoDeHienThi(giaban,
true);
214
215                     soluong = CauHinhHeThong.Format_SoDeTinhToan(dgvDsSpCkVaThue.Rows[e.RowIndex].Cells[
"SoLuong"].Value.ToString(), true);
216
217                     
//soluong khong phai dang tiền
218                     txtSoLuong.Text = CauHinhHeThong.Format_SoDeHienThi(soluong,
false);
219
220                     txtDVTShowText.Text = dgvDsSpCkVaThue.Rows[e.RowIndex].Cells[
"TenDonViTinh"].Value.ToString();
221
222                     chietkhauPt = CauHinhHeThong.Format_SoDeTinhToan(dgvDsSpCkVaThue.Rows[e.RowIndex].Cells[
"ChietKhauPt"].Value.ToString(), true);
223
224                     txtChietKhau.Text = CauHinhHeThong.Format_SoDeHienThi(chietkhauPt,
false);
225
226                     thue = CauHinhHeThong.Format_SoDeTinhToan(dgvDsSpCkVaThue.Rows[e.RowIndex].Cells[
"Thue"].Value.ToString(), true);
227
228                     cmbThue.SelectedValue = CauHinhHeThong.Format_SoDeHienThi(thue,
false) ;
229
230                     tongtien = CauHinhHeThong.BanHang_ThanhTien(giaban, soluong, thue, chietkhauPt);
231                     
232                     txtTongTienShowText.Text = CauHinhHeThong.Format_SoDeHienThi(tongtien,
true);
233                     
234                     
235                     
double tienchietkhau = 0;
236                     tienchietkhau = soluong * giaban * chietkhauPt /
100;
237
238                     txtChietKhauShowText.Text = CauHinhHeThong.Format_SoDeHienThi(tienchietkhau,
true);
239
240                     
double tienthue = 0;
241                     tienthue = soluong * giaban * thue /
100;
242
243                     txtThueShowText.Text = CauHinhHeThong.Format_SoDeHienThi(tienthue,
true);
244
245                     
//goi sang tab thue
246                     tabControlBanHangCk_Thue.SelectedTab = tabPageChiTietThue;
247                 }
248             }
249
250         }
251
252         
private void btnLuuThayDoi_Click(object sender, EventArgs e)
253         {
254             
int idBanHang = 0;
255             
double chietkhau = 0;
256             
double thueBanHang = 0;
257             
double soluong = 0;
258             
double giaban = 0;
259
260             
double thanhTien = 0;
261
262
263             
foreach (DataGridViewRow dataRow in dgvDsSpCkVaThue.Rows)
264             {
265                 
if (dataRow.Cells["IdBanHang"].Value != null)
266                 {
267                     idBanHang = Int32.Parse(dataRow.Cells[
"IdBanHang"].Value.ToString());
268
269                     chietkhau = CauHinhHeThong.Format_SoDeTinhToan(dataRow.Cells[
"ChietKhauPt"].Value.ToString(),true);
270
271                     thueBanHang = CauHinhHeThong.Format_SoDeTinhToan(dataRow.Cells[
"Thue"].Value.ToString(), true);
272
273                     soluong = CauHinhHeThong.Format_SoDeTinhToan(dataRow.Cells[
"SoLuong"].Value.ToString(), true);
274
275                     giaban = CauHinhHeThong.Format_SoDeTinhToan(dataRow.Cells[
"GiaBan"].Value.ToString(), true);
276
277                     
//thanh tien
278                     
//thanhTien = (soluong * giaban) - (soluong * giaban * chietkhau / 100) + (soluong * giaban * thueBanHang / 100);
279                     thanhTien = CauHinhHeThong.BanHang_ThanhTien(giaban, soluong, thueBanHang, chietkhau);
280                     
//update vao csdl
281                     Controllers.BanHangCtrl.UpdateBanHang_Thue_ChietKhau(idBanHang, chietkhau, thueBanHang, thanhTien);
282                 }
283             }
//end foreach
284
285
286             
//MessageBox.Show("Lưu thành công");
287
288             
//hien thi lai danh sach san pham
289             
//this.HienThiDanhSachSanPhamTheoKhachHangTinhCkVaThue(_getIdKhachHang);
290
291             
//đóng form
292             
this.Close();
293         }
294
295         
private void txtChietKhau_TextChanged(object sender, EventArgs e)
296         {
297             
if (loadlandau == true) { return; }
298             
299
300             
try
301             {
302                 
string value = txtChietKhau.Text.Replace(CauHinhHeThong.PHAN_CACH_HANG_NGHIN, "");
303                 
ulong ul = 0;
304
305                 
if (ulong.TryParse(value, out ul))
306                 {
307                     txtChietKhau.TextChanged -= txtChietKhau_TextChanged;
308
309                     
if (txtChietKhau.Text.StartsWith("0"))
310                     {
311                         txtChietKhau.Text = ul.ToString();
312                     }
313                     
else
314                     {
315                         txtChietKhau.Text = CauHinhHeThong.DoFormat_NhapSoTrongText(
value);
316                     }
317
318                     txtChietKhau.SelectionStart = txtChietKhau.Text.Length;
319                     txtChietKhau.TextChanged += txtChietKhau_TextChanged;
320                 }
321                 
else
322                 {
323                     
if (txtChietKhau.Text.StartsWith(CauHinhHeThong.DAU_PHAY))
324                     {
325                         txtChietKhau.TextChanged -= txtChietKhau_TextChanged;
326                         txtChietKhau.Text =
"0" + txtChietKhau.Text;
327                         txtChietKhau.SelectionStart = txtChietKhau.Text.Length;
328                         txtChietKhau.TextChanged += txtChietKhau_TextChanged;
329                     }
330                 }
331
332                 
double chietkhau = 0;
333                 
double thueBanHang = 0;
334                 
double soluong = 0;
335                 
double giaban = 0;
336
337                 
double thanhTien = 0;
338
339                 giaban = CauHinhHeThong.Format_SoDeTinhToan(txtGiaBan.Text.Trim(),
true);
340                 soluong = CauHinhHeThong.Format_SoDeTinhToan(txtSoLuong.Text.Trim(),
true);
341
342                 thueBanHang = Int32.Parse(cmbThue.SelectedValue.ToString());
343                 chietkhau = CauHinhHeThong.Format_SoDeTinhToan(txtChietKhau.Text.Trim(),
true);
344
345                 
double tienchietkhau = 0;
346                 tienchietkhau = giaban * soluong * chietkhau /
100;
347                 txtChietKhauShowText.Text = CauHinhHeThong.Format_SoDeHienThi(tienchietkhau,
true);
348
349                 
double tienthue = 0;
350                 tienthue = giaban * soluong * thueBanHang /
100;
351                 txtThueShowText.Text = CauHinhHeThong.Format_SoDeHienThi(tienthue,
true);
352
353                 thanhTien = CauHinhHeThong.BanHang_ThanhTien(giaban, soluong, thueBanHang, chietkhau);
354                 txtTongTienShowText.Text = CauHinhHeThong.Format_SoDeHienThi(thanhTien,
true);
355                 
356             }
357             
catch
358             {
359             }
360         }
361
362         
private void txtChietKhau_MouseCaptureChanged(object sender, EventArgs e)
363         {
364             loadlandau =
false;
365         }
366
367         
private void txtChietKhau_KeyDown(object sender, KeyEventArgs e)
368         {
369
370         }
371
372         
private void txtChietKhau_KeyPress(object sender, KeyPressEventArgs e)
373         {
374             CauHinhHeThong.NhapSoTrongTextBox(sender, e);
375         }
376
377         
private void txtChietKhau_Click(object sender, EventArgs e)
378         {
379             loadlandau =
false;
380         }
381
382         
383
384         
private void cmbThue_SelectionChangeCommitted(object sender, EventArgs e)
385         {
386             
//MessageBox.Show(cmbThue.SelectedValue.ToString());
387             
double chietkhau = 0;
388             
double thueBanHang = 0;
389             
double soluong = 0;
390             
double giaban = 0;
391
392             
double thanhTien = 0;
393
394             giaban = CauHinhHeThong.Format_SoDeTinhToan(txtGiaBan.Text.Trim(),
true);
395             soluong = CauHinhHeThong.Format_SoDeTinhToan(txtSoLuong.Text.Trim(),
true);
396
397             thueBanHang = Int32.Parse(cmbThue.SelectedValue.ToString());
398             chietkhau = CauHinhHeThong.Format_SoDeTinhToan(txtChietKhau.Text.Trim(),
true);
399
400             
double tienchietkhau = 0;
401             tienchietkhau = giaban * soluong * chietkhau /
100;
402             txtChietKhauShowText.Text = CauHinhHeThong.Format_SoDeHienThi(tienchietkhau,
true);
403
404             
double tienthue = 0;
405             tienthue = giaban * soluong * thueBanHang /
100;
406             txtThueShowText.Text = CauHinhHeThong.Format_SoDeHienThi(tienthue,
true);
407
408             thanhTien = CauHinhHeThong.BanHang_ThanhTien(giaban, soluong, thueBanHang, chietkhau);
409             txtTongTienShowText.Text = CauHinhHeThong.Format_SoDeHienThi(thanhTien,
true);
410         }
411     }
412 }


Gõ tìm kiếm nhanh...